#ifndef _RADAR_H
#define _RADAR_H

#include "FileList.h"

#include <boost/filesystem/convenience.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>

namespace bfs = boost::filesystem;

class Radar
{
public:
	bfs::path	m_xFileListRoot;
	FileList	m_xFileList;
	bool		m_bCreate;
	std::string m_sIgnore;
	std::string m_sExtension;

public:
	Radar ();
	int			scan(std::string sSourceDir, bool bRecurse = true);
	void		dump();
	const FileList* getFileList();

private:
	void		scanDirectory(const bfs::path& xPath, int nLevel=0, bool bRecurse=true);
	bool		isFileTypeSupported(std::string sExtension);
	bool		isInIgnoreList(std::string sFilename);
};

#endif
